<?php
loadHelper('form');
loadHelper('url');
loadHelper('database');

include_once 'model.php';

if(isset($_POST['post']) and isset($_SERVER['HTTP_X_REQUESTED_WITH'])) //Kiểm tra xem người dùng submit thông tin bằng Ajax chưa
{
    //Tạo các rule kiểm tra dữ liệu submit
    $fields = array(
      'title' => array(
          'required',
          'max-length-150'
      ),
        'description' => array(
            'required',
            'min-length-20',
            'max-length-1000'
        )
    );
    $e = form_validate($fields, $_POST['post']); //Thực hiện kiểm tra dữ liệu submit
    if(empty($e)) //Trường hợp không có lỗi
    {
        extract($_POST['post']);
        if(addEntry($_SESSION['UID'], $title, $position, $description) === TRUE)
        {
            $_GET['view'] = 'item';
            $entry = getLastEntryByUser($_SESSION['UID']);
            $_GET['id'] = $entry['EntryId'];
        }

    }
    else
    {
        echo '0';
    }
    if(!isset($_GET['view'])) return; //Thoát file tại đây
} //Kết thúc kiểm tra Submit entry

if(isset($_GET['subaction']))
{
    echo $_GET['subaction']($_GET['id']);
    return;
}

ob_start(); //Khởi tạo bộ nhớ đêm (buffer) chứa code trả về
if(isset($_GET['view']))
{
    switch($_GET['view'])
    {
        case 'list': //View list hiển thị một danh sách entry trong DB

            break;
        case 'item':
            include_once 'components/content/comment/model.php';
            include_once 'components/friend/model.php';
            $comments = getListComment($_GET['id']);
            if(!isset($entry)) $entry = getEntryById($_GET['id']);
            break;
        case 'form': //View form sẽ hiển thị form để đăng bài chia sẻ
            break;
        case 'detail': //View detail sẽ hiển thị thông tin chi tiết cho bài chia sẻ
            break;
        default :
            $_GET['view'] = 'list'; //Mặc định là View list: hiển thị hết entry trong DB
            break;
    }
    include 'view_' . $_GET['view'] . '.php';
 }
 else
 {
    include_once 'components/content/comment/model.php';
    include_once 'components/friend/model.php';
    $entries = getListEntries();
    $entry = getEntryById(1);
    include 'view_list.php';
 }
 $content = ob_get_contents(); //Lấy nội dung trả về
 ob_clean(); //Xóa buffer
 //Kiểm tra nếu Request là Ajax chỉ trả về $content (chỉ là 1 form)
 if(isset($_SERVER['HTTP_X_REQUESTED_WITH']))
 {
    echo $content;         
 }
 else //Ngược lại, nếu là Request bình thường sẽ trả về cả trang web
 {
    loadView('header');
    echo $content;
    loadView('footer');         
 }
?>